Лабораторна робота №4
Тема: Дослідження алгоритму аналізу номера NumAnlz().
Мета роботи: Засвоєння роботи другого етапу обслуговування абонентів – прийому набору номера.
Теоретичні відомості.
Алгоритм аналізу номера використовується для визначення кінця набору номера, напрямку виклику (внутрістанційний, зовністанційний чи екстремальний) та переводу абонента на наступний етап обслуговування із внесенням в регістр виклику, для подальшої обробки, необхідних значень. Період запуску алгоритму 230 мс.
Блок схема алгоритму аналізу номера приведена на рис. 4.1
Після запуску алгоритма диспетчером, як уже звично, робота починається з аналізу черги заявок на прийом номера. Якщо заявки відсутні, тобто відсутні абоненти, які здійснюють набір, тоді алгоритм закінчує свою роботу переходом у вихідний стан.
Якщо хоча б одна заявка присутня в черзі, то починає роботу головна частина алгоритму, яка заключається в наступному:
1. по номеру АК визначається номер РВ, який закріплений за даним АК;
2. якщо після аналізу кількості цифр визначено, що їх кількість достатня, тоді збільшується рівень обслуговування абонента (level) та визначається напрямок виклику (CREG[].direction), а саме:
- при неіснуючому напрямку (CREG[].direction=0), абонент повідомляється про це за допомогою включення йому сигналу “Зайнято”, звільнюється регістр виклику, який був призначений для цього абонента; абонент переводиться в чергу на відбій та знімається з черги на прийом набору номера;
- при внутрістанційному напрямку виклику (CREG[].direction=3), визначається лінійний номер АК абонента призначення та координати (g_abn, n_abn) і за допомогою масиву Rbusy[], який відображає стани всіх абонентів (в пам’яті), визначається стан уже конткретного абонента призначення; при вільному стані джерельний абонент переводиться з етапу прийняття номера на етап пошуку вільного з’єднувального шляху в КП та його резервування; в протилежному випадку, коли абонент призначення зайнятий (розмова), чи заблокований – джерельний абонент повідомляється про це включенням сигналу “Зайнято” та виконанням тих самих функцій, які були описані у випадку неіснуючого напрямку.
- при зовністанційному (CREG[].direction=2), або екстримальному (CREG[].direction=1) напрямків виклику – джерельний абонент переводиться на наступний етап пошуку вільного з’єднувального шляху в КП у заданому напрямку.
Закінчується робота алгоритму після перегляду всієї черги на прийом номера.
В процесі аналізу номера дуже важливо, щоб обробка інформації, тобто визначення чи потрібно подальше накопичення додаткових цифр для здійснення повного аналізу номера, чи вже достатньо їх, здійснювався ефективно. Вимога до ефективності обробки ставиться за рахунок того, що алгоритми, які записані в ОЗП на станціях, повинні забезпечувати роботу в реальному масштабі часу. Ця вимога задовільняється використовуючи спеціальні пошукові таблиці – найкраща з яких є деревовидна пошукова таблиця.
2
1
3
0
ні
ні
ні
так
так
так
Сигнал запуску від ОС
Вихідний стан
Кінець перегляду черги?
Вихідний стан
Визначення номера РВ для наступного виклику
Кількість цифр достатньо?
Збільшити рівень обслуговування
Визначення напрямку
“Занято”
Визначити лінійний номер АК
Визначити координати АК абонента
Додати в чергу на відбій
Звільнити РВ
Зняти з черги на прийом номера
Додати в чергу на аналіз вільного зєднувального шляху
Абонент призначення
Зняти з черги на прийом номера
Рис. 4.1. Блок-схема алгоритму аналізу номера
EMBED Visio.Drawing.4
Графова модель деревовидної структури пошукової таблиці приведена на рисунку 4.2. Верхній вузол називають корнем, нижні вузли – термінальні елементи, які містять необхідну інформацію (в нашому конкретному випадку – шукану інформацію про напрямок виклику). Вершини дерева розташовуються по рівнях. Корінь має рівень 1, безпосередньо зв’язані з ним вершини 2 рівень і т. д. Максимальний рівень h мають термінальні елементи. Кожен вузол дерева, за виключенням, містять адреси зв’язаних ...